package com.hyou.springboot2.dao;

import java.util.List;

import com.hyou.springboot2.dto.pojo.SysAccountDO;

/**
 * SysAccountDao Dao接口定义类，(表t_sys_account)
 *
 * @author FengChangshuo
 * @version 1.0.0 2018-11-01 11:27:16 初始创建
 */
public interface SysAccountDao {

    /**
     * 新增一条SysAccountDO记录
     * 
     * @param sysAccount 要新增的SysAccountDO记录数据对象
     */
    void insert(SysAccountDO sysAccount);
    
    /**
     * 批量新增SysAccountDO记录
     * 
     * @param sysAccounts 要新增的SysAccountDO记录数据对象集合
     */
    void insertBatch(List<SysAccountDO> sysAccounts);
    
    /**
     * 根据主键ID，删除一条SysAccountDO记录
     * 
     * @param id SysAccountDO的主键
     */
    void deleteByPrimaryKey(Long id);
    
    /**
     * 根据主键ID，批量删除多条SysAccountDO记录
     *
     * @param ids SysAccountDO的主键集合
     */
    void deleteBatchByPrimaryKeys(List<Long> ids);
    
    /**
     * 根据主键更新SysAccountDO数据记录
     * 
     * @param sysAccount 要更新的SysAccountDO数据对象
     */
    void updateByPrimaryKeySelective(SysAccountDO sysAccount);
    
    /**
     * 根据主键查询SysAccountDO数据对象
     * 
     * @param id SysAccountDO的主键
     * @return SysAccountDO数据对象
     */
    SysAccountDO selectByPrimaryKey(Long id);
    
    /**
     * 根据用户名和密码查询用户信息
     * 
     * @param sysAccount 查询条件参数
     * @return 查询结果
     */
    SysAccountDO selectByAccountAndPassword(SysAccountDO sysAccount);
    
    /**
     * <pre>
     * 根据数据对象sysAccount查询符合条件的SysAccountDO结果集
     * 根据sysAccount动态拼接查询条件。
     * </pre>
     *
     * @param sysAccount 用于封装查询条件
     * @return SysAccountDO数据查询结果集
     */
    List<SysAccountDO> selectByConditions(SysAccountDO sysAccount);
    
}
